In order to discover programming defects of source codes such as standardization, logicality or security defects, a code analysis tool may analyze source codes or compiled codes without execution of the codes to obtain an evaluation report. During an application, the code analysis tool generally analyzes codes stored in a software configuration management database according to a predefined analysis rule and then outputs an analysis result.
A conventional code analysis tool is generally applicable to a specific type of programming languages and has a single category of analyzing functions. Therefore, there are currently many types of code analysis tools, which are classified according to different fields. For example, there are respective types of code analysis tools for category detection, style detection, programming standardization and property detection, security detection, etc. Moreover, the conventional code analysis tool is generally executed manually by a developer or a tester, which increases workload of the developer or the tester.
Due to different programming levels and different programming tools used by different developers in a large software research and development organization, product or project, multiple types of codes may be obtained through multiple types of coding manners. Because each code analysis tool is applicable to only a specific type of programming languages, a single code analysis tool cannot make comprehensive code analysis for a large-scale software system realized by multiple types of programming languages. Thereby, multiple code analysis tools respectively corresponding to different types of programming languages should be used to make the code analysis for many times, which costs time and human resources. Moreover, the code analysis are executed manually, which further costs time and human resources, increases workload of the developer and the tester and affects efficiency of code analysis.